Skip to content

feat: initial release of Vespasian — Claude Code-integrated Wix site builder - #1

Merged
PAMulligan merged 2 commits into
mainfrom
feat/initial-vespasian
Jul 7, 2026
Merged

feat: initial release of Vespasian — Claude Code-integrated Wix site builder#1
PAMulligan merged 2 commits into
mainfrom
feat/initial-vespasian

Conversation

@PAMulligan

Copy link
Copy Markdown
Contributor

Summary

Initial release of Vespasian — a Claude Code-integrated Wix site builder, forked from Flavian: design in (Figma · Canva · InDesign) → design tokens + content IR → BuildPlan → live Wix Studio site → visual QA against the source design.

Kept from Flavian: the design-ingestion front end (IDML/PDF parsers → zod-validated IR + content model → neutral token mapper with provenance), the setup wizard, the 54-agent / 10-skill Claude Code layer, the visual-QA loop, the Playwright + Figma MCP integration, the Electron GUI (retargeted via its product-manifest seam), and the release-please conventions (manifest seeded at 0.1.0 — no hand-bumped versions).

Replaced: the entire WordPress output layer. New packages/wix-driver provides:

  • a typed REST client for nine Wix API families (sites, media, CMS data, embeds, properties, publish…) with 429 backoff and revision-aware updates
  • a consent-gated Playwright editor driver with a persisted browser session (vespasian login --editor) for everything Wix has no API for
  • a design-token → Wix-theme translator (palette slots, 9-slot text theme, --vsp-* spacing CSS via global.css)
  • a deterministic BuildPlan compiler + phase-ordered executor with checkpoints, --resume-from, and dry-run transports (CI runs the full flow with zero credentials)
  • published-site QA with honest FidelityReports for every translation loss

The per-operation API vs. browser automation matrix (22 operations + known gaps) is in docs/wix/API-COVERAGE.md; the pinned architecture is docs/wix/ARCHITECTURE.md.

Test plan

  • pnpm test:pipeline — 124/124
  • pnpm test:wix-driver — 55/55
  • pnpm test:init — 54/54
  • pnpm test:canva-e2e — 6/6 (the site-validation CI gate: fixture compile + dry-run apply)
  • pnpm gui:test / gui:typecheck / gui:lint — 63/63, clean
  • bats shell suites with restored submodules (unit, canva-wix, figma-wix, shared, validate-agent-configs)
  • End-to-end dry run: vespasian pipeline indesign <fixture> → plan → apply --dry-run exits 0
  • Adversarial review pass: 43 findings fixed (6 doc-command blockers, executor/translate bugs) with regression tests
  • Live smoke against a real Wix account (needs credentials; three REST endpoint paths are flagged best-effort in code comments)

CI note: lighthouse-ci and visual-regression skip cleanly until the WIX_SITE_URL repository variable is set; all other workflows run secretless.

🤖 Generated with Claude Code

Paul and others added 2 commits July 6, 2026 23:14
…builder

Fork of Flavian (github.com/PMDevSolutions/Flavian) retargeting the
design-to-site pipeline from WordPress FSE to Wix Studio.

Kept from Flavian: the design-ingestion front end (Figma/Canva/InDesign
parsers → zod-validated IR + content model → neutral design tokens with
provenance), the setup wizard, the Claude Code agent/skill architecture,
the visual-QA loop, the Playwright MCP integration, the Electron GUI
(via its product-manifest seam), and the release-please conventions.

New: packages/wix-driver — a Wix output layer with two auth planes
(account API key for REST; consent-gated persisted browser session for
editor automation), a deterministic BuildPlan compiler, a phase-ordered
executor with checkpoints and dry-run transports, a design-token →
Wix-theme translator (palette slots, 9-slot text theme, --vsp-* spacing
CSS), and published-site QA with FidelityReports. Operations use
official Wix APIs wherever they exist; Playwright editor automation is
the documented fallback (see docs/wix/API-COVERAGE.md).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
dorny/paths-filter lists PR files via the API; the workflows' explicit
'permissions: contents: read' blocks (and this repo's restrictive
default token) dropped that access, failing the check-paths gate jobs
on the first PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@PAMulligan
PAMulligan merged commit e6ab29c into main Jul 7, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant